//
// Created by 12992 on 24-11-7.
//

#ifndef TRANSCODERQUEUEWIDGET_H
#define TRANSCODERQUEUEWIDGET_H

#include <QWidget>
#include <QListWidget>
#include "process.hpp"

namespace gui::widgets
{
    QT_BEGIN_NAMESPACE

    namespace Ui
    {
        class TranscoderQueueWidget;
    }

    QT_END_NAMESPACE

    class TranscoderQueueWidget : public QWidget
    {
        Q_OBJECT

    public:
        explicit TranscoderQueueWidget(QWidget* parent = nullptr);

        ~TranscoderQueueWidget() override;

        void addProcess(const std::string& name, std::shared_ptr<utils::process> process);

    signals:
        void errorOccurred(std::string msg);

    private:
        Ui::TranscoderQueueWidget* ui;
        QListWidget* list{};
    };
} // gui::widgets

#endif //TRANSCODERQUEUEWIDGET_H
